
import TipoDeMoeda.Moeda;
import java.util.ArrayList;
import java.util.Iterator;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Caio
 */
public  class Etapa extends Component implements Composite {
    
    
    ArrayList<Component> tarefas= new ArrayList<>();
    private String nome;
    private Integer hora = 0;
    private Double custo = 0.0;
    
    public  Etapa(String nome){
        this.nome=nome;
    }
    @Override
    public void addComponent(Component component) {
       tarefas.add(component);
       this.hora= this.hora+component.getHora();
       this.custo=this.custo+component.getCusto();
    }
    @Override
    public void exibirComponents(Moeda moeda){
        for (Iterator<Component> it = tarefas.iterator(); it.hasNext();) {
             Component component = it.next();
             System.out.println("Nome da tarefa : "+ component.getNome() + ". Custo em horas da tarefa : "+ component.getHora()+". Custo em preço total da tarefa : "+moeda.SelecionaMoeda(component.getCusto()));
        }
        System.out.println("O preço total desta etapa foi de : "+moeda.SelecionaMoeda(this.getCusto()));
    }
    

    @Override
    public Integer getHora() {
        return this.hora;
    }

    @Override
    public Double getCusto() {
       return this.custo;
    }

    @Override
    public String getNome() {
        return this.nome;
    }

    @Override
    public void removeComponent(Component component) {
        this.tarefas.remove(component);
    }

    
}
